package com.xyy.saas.payment.adpater.pingxx.domain;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author wangtianqi
 */
public class PayDO implements Serializable {


    private static final long serialVersionUID = -7021963873030180847L;

    /**
     * 商户订单号
     */
    private String orderNo;

    /**
     * 订单总金额
     */
    private Integer amount;


    /**
     * 特定渠道发起交易时需要的额外参数，以及部分渠道支付成功返回的额外参数
     */
    private String extra;

    /**
     * 订单支付完成时的Unix时间戳
     */
    private Date timePaid;

    /**
     * 渠道通知时间
     */
    private Date notifyTime;

    /**
     * 第三方交易流水号
     */
    private String channelChargeNo;

    /**
     * 订单错误码
     */
    private String failureCode;

    /**
     * 订单错误信息
     */
    private String failureMsg;

    /**
     * 业务线类型
     */
    private String businessType;

    /**
     * 业务线订单类型
     */
    private String businessOrderType;

    /**
     * 订单所属用户id
     */
    private String receiverId;

    /**
     * 回调业务方地址
     */
    private String callbackAddress;

    /**
     * 返回状态码
     */
    private String returnCode;

    /**
     * 业务结果
     */
    private String resultCode;
    /*
     * 重试次数
     */
    private int count;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 商户号
     */
    private String mchId;

    private String channelTransactionNo;

    private String payer;

    private String payMode;

    private String businessOrderNo;

    /**
     * 企业统一社会信用代码
     */
    @Getter
    @Setter
    private String uscc;

    /**
     * 姓名（脱敏）
     */
    @Getter
    @Setter
    private String payName;

    /**
     * 脱敏后卡号
     */
    @Getter
    @Setter
    private String payAcc;



    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }


    public String getExtra() {
        return extra;
    }

    public void setExtra(String extra) {
        this.extra = extra;
    }

    public void setFailureCode(String failureCode) {
        this.failureCode = failureCode;
    }

    public void setFailureMsg(String failureMsg) {
        this.failureMsg = failureMsg;
    }

    public Date getTimePaid() {
        return timePaid;
    }

    public void setTimePaid(Date timePaid) {
        this.timePaid = timePaid;
    }

    public String getChannelChargeNo() {
        return channelChargeNo;
    }

    public void setChannelChargeNo(String channelChargeNo) {
        this.channelChargeNo = channelChargeNo;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getBusinessOrderType() {
        return businessOrderType;
    }

    public void setBusinessOrderType(String businessOrderType) {
        this.businessOrderType = businessOrderType;
    }

    public String getReceiverId() {
        return receiverId;
    }

    public void setReceiverId(String receiverId) {
        this.receiverId = receiverId;
    }

    public String getCallbackAddress() {
        return callbackAddress;
    }

    public void setCallbackAddress(String callbackAddress) {
        this.callbackAddress = callbackAddress;
    }

    public String getReturnCode() {
        return returnCode;
    }

    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    public String getResultCode() {
        return resultCode;
    }

    public void setResultCode(String resultCode) {
        this.resultCode = resultCode;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public String getChannelTransactionNo() {
        return channelTransactionNo;
    }

    public void setChannelTransactionNo(String channelTransactionNo) {
        this.channelTransactionNo = channelTransactionNo;
    }

    public String getPayer() {
        return payer;
    }

    public void setPayer(String payer) {
        this.payer = payer;
    }

    public String getPayMode() {
        return payMode;
    }

    public void setPayMode(String payMode) {
        this.payMode = payMode;
    }

    public Date getNotifyTime() {
        return notifyTime;
    }

    public void setNotifyTime(Date notifyTime) {
        this.notifyTime = notifyTime;
    }

    public String getBusinessOrderNo() {
        return businessOrderNo;
    }

    public void setBusinessOrderNo(String businessOrderNo) {
        this.businessOrderNo = businessOrderNo;
    }
}
